package org.seefly.iprint.mapper;

import org.seefly.iprint.entity.*;
import org.seefly.iprint.vo.ItemPriceVo;
import org.seefly.iprint.vo.PhotoVo;
import org.seefly.iprint.vo.PriceVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * 
 * @ClassName PriceMapper
 * @Description TODO(价格查询)
 * @author liujianxin
 * @Date 2018年3月27日 下午3:04:56
 * @version 1.0.0
 */
public interface PriceMapper {
    
    
    /**
     * 
     * @Description (查询价格项表获取对应价格)
     * @param vo 
     * @return
     */
    BigDecimal getItemPrice(ItemPriceVo vo);

    /**
     * 
     * @Description (查询照片价格表，获取照片价格)
     * @param vo 照片视图层实体
     * @return 对应价格
     */
    BigDecimal getPhotoPrice(PhotoVo vo);

    /**
     * 
     * @Description (根据title查询不同的表获取对应价格)
     * @param oi
     * @return 价格
     */
    BigDecimal findPriceByTitle(OrderItem oi);

    /**
     * 
     * @Description (其他项费用)
     * @param oi
     * @return
     */
    BigDecimal findServicedPrice(OrderItem oi);

    /**
     * 
     * @Description (获取文档价格表的所有数据)
     * @return
     */
    List<DocPrice> getDocPriceTable();

    /**
     * 
     * @Description (更改价格表)
     * @param vo
     */
    void updatePrice(PriceVo vo);

    /**
     * 
     * @Description (获取照片价格表所有数据)
     * @return
     */
    List<PhotoPrice> getPhotoPriceTable();

    /**
     * 
     * @Description (获取证件照价格表)
     * @return
     */
    List<IdphotoPrice> geteIdPhotoPriceTable();

    /**
     * 
     * @Description (获取单页价格表)
     * @return
     */
    List<LeafletPrice> getLeafletPriceTable();
}
